package com.punch.common.vo.course;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * CoursePageVO-教室列表信息 展示vo
 *
 * @author xiaol
 * @version 1.0.0
 * @since 2020/7/21
 */
@Data
public class ClassPageVO implements Serializable {

    /**
     * 班级主键id
     */
    @ApiModelProperty(name = "classId", notes = "班级主键id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long classId;

    @ApiModelProperty(name = "schoolName", notes = "学校名称")
    private String schoolName;

    /**
     * 班级名称
     */
    @ApiModelProperty(name = "className", notes = "班级名称")
    private String className;

    /**
     * 课程名称
     */
    @ApiModelProperty(name = "courseName", notes = "课程名称")
    private String courseName;


    @ApiModelProperty(name = "courseWeek", notes = "上课周期——星期几")
    @JsonIgnore
    private String courseWeek;

    @ApiModelProperty(name = "classTime", notes = "上课时间——几点到几点")
    @JsonIgnore
    private String classTime;

    @ApiModelProperty(name = "courseTime", notes = "上课时间")
    private String courseTime;

    /**
     * 上课教室名称
     */
    @ApiModelProperty(name = "classRoomName", notes = "上课教室名称")
    private String classRoomName;

    /**
     * 上课老师Id
     */
    @ApiModelProperty(name = "teacherId", notes = "上课老师Id")
    @JsonSerialize(using = ToStringSerializer.class)
    private String teacherId;

    /**
     * 上课老师名称
     */
    @ApiModelProperty(name = "teacherName", notes = "上课老师名称")
    private String teacherName;

    /**
     * 最少上课人数
     */
    @ApiModelProperty(name = "stuNoMin", notes = "最少上课人数")
    private Integer stuNoMin;
    /**
     * 最多上课人数
     */
    @ApiModelProperty(name = "stuNoMax", notes = "最多上课人数")
    private Integer stuNoMax;


    /**
     * 禁用状态  0：禁用  1启用
     */
    @ApiModelProperty(name = "disableSate", notes = "禁用状态  0：禁用  1启用")
    private Integer enabled;

    /**
     * 班级状态：
     * 0 待报名
     * 1 报名中
     * 2 已开班
     * 3 取消报名
     * 4 已完成
     */
    @ApiModelProperty(name = "classState", notes = "班级状态： 0 待报名 1 报名中  2 已开班 3 取消报名 4 已完成")
    private Integer classState;
    /**
     * 所属地区名称
     */
    @ApiModelProperty(name = "areaName", notes = "所属地区名称")
    private String areaName;

    /**
     * 报名人数
     */
    @ApiModelProperty(name = "signUpNumber", notes = "报名人数")
    private Integer signUpNumber;

    /**
     * 供应商id
     */
    @ApiModelProperty(name = "supplierId", notes = "供应商id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long supplierId;

    @ApiModelProperty(name = "supplierName", notes = "供应商名称")
    private String supplierName;

    private Integer containMaterialFlag;

    /**
     * 课时数
     */
    private Integer courseHourCount;

    /**
     * 课程进度
     */
    private Integer courseFinishCount;

}
